﻿using UnityEngine;

namespace Yoozoo.Gameplay.Liberty
{
    public static class LibertyConst
    {
        /// <summary>
        /// 默认玩家属性配置的npcId
        /// </summary>
        public const int DEFAULT_PLAYER_PROPERTY_NPCID = 99999;
        
        /// <summary>
        /// 是否开启AIPath的性能模式
        /// </summary>
        public static bool IsOpenAIPathPerformanceMode = true;
        
        /// <summary>
        /// 当前是否覆盖AIPath的重力更新间隔
        /// </summary>
        public static bool OverrideAIPathGravityUpdateDuration = false;
        
        /// <summary>
        /// 寻路性能模式下，向下发射射线的间隔 (0表示每帧都发射)
        /// </summary>
        public static float AIPathGravityUpdateDuration = 1f;

        /// <summary>
        ///   Npc Lod0的半径，小于该距离都设置为LOD0
        /// </summary>
        public static float NpcLod0Radius = 20;

        /// <summary>
        /// Npc Lod1的半径，小于该半径设置为LOD1
        /// </summary>
        public static float NpcLod1Radius = 40;

        /// <summary>
        /// 玩家层级
        /// </summary>
        public static int PlayerLayer = 0;

        static LibertyConst()
        {
            PlayerLayer = LayerMask.NameToLayer("Player");
        }
    }
    
    /// <summary>
    /// 生效元素类型
    /// </summary>
    public enum WeaponElementType
    {
        Damage = 1, // 伤害
        AttenuationDamage = 2, // 衰减伤害
        ContinuousRangeDamage = 3, // 持续范围伤害
        Force = 4, // 推力
    }
    
    /// <summary>
    /// 子弹元素生效时机类型
    /// </summary>
    public enum WeaponBulletEffectiveType
    {
        Immediate = 0,  // 立即生效
        Arrive = 1,     // 到达目标点生效
        Delay = 2,      // 延迟生效
    }

    /// <summary>
    /// 道具作用类型
    /// </summary>b
    public enum ItemFuncType
    {
        AddHealth = 1, // 加血
        AddBullet = 2, // 加子弹
        ArenaCup = 3,   // 格斗赛奖杯
    }
}
